/**
 * Created with IntelliJ IDEA.
 * Description: 牛客网.简单题.寻找峰值
 */

//方法二：二分法
class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param nums int整型一维数组
     * @return int整型
     */
    public int findPeakElement (int[] nums) {
        // write code here
        if(nums.length == 1) {
            return 0;
        }
        int left = 0;
        int right = nums.length - 1;
        while(left < right) {
            int mid = (left + right) / 2;
            if(nums[mid] > nums[mid + 1]){
                right = mid;
            }else {
                left = mid + 1;
            }
        }
        return right;
    }
}

//方法一，暴力破解
class Solution1 {
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     *
     * @param nums int整型一维数组
     * @return int整型
     */
    public int findPeakElement (int[] nums) {
        // write code here
        for(int i = 0; i < nums.length; i++) {
            if(i != nums.length - 1 && nums[i] < nums[i + 1]){
                continue;
            }
            if(i == 0){
                return i;
            }
            if(nums[i] > nums[i - 1]) {
                return i;
            }
        }
        return -1;
    }
}

public class Test {
}
